<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-pragma">{-# OPTIONS_GHC -fno-warn-orphans #-}</span><span>
</span><span id="line-2"></span><span class="hs-pragma">{-# LANGUAGE FlexibleInstances #-}</span><span>
</span><span id="line-3"></span><span class="hs-pragma">{-# LANGUAGE PolyKinds #-}</span><span>
</span><span id="line-4"></span><span class="hs-pragma">{-# LANGUAGE ScopedTypeVariables #-}</span><span>
</span><span id="line-5"></span><span class="hs-pragma">{-# LANGUAGE GADTs #-}</span><span>
</span><span id="line-6"></span><span>
</span><span id="line-7"></span><span class="hs-comment">-- This module is full of orphans, unfortunately</span><span>
</span><span id="line-8"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">GHCi.TH.Binary</span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-9"></span><span>
</span><span id="line-10"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Prelude.html#"><span class="hs-identifier">Prelude</span></a></span><span> </span><span class="hs-comment">-- See note [Why do we import Prelude here?]</span><span>
</span><span id="line-11"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../binary/src/Data.Binary.html#"><span class="hs-identifier">Data.Binary</span></a></span><span>
</span><span id="line-12"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="../../bytestring/src/Data.ByteString.html#"><span class="hs-identifier">Data.ByteString</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">B</span></span><span>
</span><span id="line-13"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="../../bytestring/src/Data.ByteString.Internal.html#"><span class="hs-identifier">Data.ByteString.Internal</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">B</span></span><span>
</span><span id="line-14"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../ghc-boot/src/GHC.Serialized.html#"><span class="hs-identifier">GHC.Serialized</span></a></span><span>
</span><span id="line-15"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.html#"><span class="hs-identifier">Language.Haskell.TH</span></a></span><span>        </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">TH</span></span><span>
</span><span id="line-16"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#"><span class="hs-identifier">Language.Haskell.TH.Syntax</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">TH</span></span><span>
</span><span id="line-17"></span><span class="hs-comment">-- Put these in a separate module because they take ages to compile</span><span>
</span><span id="line-18"></span><span>
</span><span id="line-19"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088328"><span id="local-6989586621679088330"><span id="local-6989586621679088332"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#Loc"><span class="hs-identifier hs-type">TH.Loc</span></a></span></span></span></span><span>
</span><span id="line-20"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088321"><span id="local-6989586621679088323"><span id="local-6989586621679088325"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#Name"><span class="hs-identifier hs-type">TH.Name</span></a></span></span></span></span><span>
</span><span id="line-21"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088315"><span id="local-6989586621679088317"><span id="local-6989586621679088319"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#ModName"><span class="hs-identifier hs-type">TH.ModName</span></a></span></span></span></span><span>
</span><span id="line-22"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088309"><span id="local-6989586621679088311"><span id="local-6989586621679088313"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#NameFlavour"><span class="hs-identifier hs-type">TH.NameFlavour</span></a></span></span></span></span><span>
</span><span id="line-23"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088303"><span id="local-6989586621679088305"><span id="local-6989586621679088307"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#PkgName"><span class="hs-identifier hs-type">TH.PkgName</span></a></span></span></span></span><span>
</span><span id="line-24"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088297"><span id="local-6989586621679088299"><span id="local-6989586621679088301"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#NameSpace"><span class="hs-identifier hs-type">TH.NameSpace</span></a></span></span></span></span><span>
</span><span id="line-25"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088291"><span id="local-6989586621679088293"><span id="local-6989586621679088295"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#Module"><span class="hs-identifier hs-type">TH.Module</span></a></span></span></span></span><span>
</span><span id="line-26"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088285"><span id="local-6989586621679088287"><span id="local-6989586621679088289"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#Info"><span class="hs-identifier hs-type">TH.Info</span></a></span></span></span></span><span>
</span><span id="line-27"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088279"><span id="local-6989586621679088281"><span id="local-6989586621679088283"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#Type"><span class="hs-identifier hs-type">TH.Type</span></a></span></span></span></span><span>
</span><span id="line-28"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088273"><span id="local-6989586621679088275"><span id="local-6989586621679088277"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#TyLit"><span class="hs-identifier hs-type">TH.TyLit</span></a></span></span></span></span><span>
</span><span id="line-29"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088267"><span id="local-6989586621679088269"><span id="local-6989586621679088271"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#Specificity"><span class="hs-identifier hs-type">TH.Specificity</span></a></span></span></span></span><span>
</span><span id="line-30"></span><span id="local-6989586621679091897"><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088261"><span id="local-6989586621679088263"><span id="local-6989586621679088265"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679091897"><span class="hs-identifier hs-type">flag</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#TyVarBndr"><span class="hs-identifier hs-type">TH.TyVarBndr</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679091897"><span class="hs-identifier hs-type">flag</span></a></span><span class="hs-special">)</span></span></span></span></span><span>
</span><span id="line-31"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088255"><span id="local-6989586621679088257"><span id="local-6989586621679088259"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#Role"><span class="hs-identifier hs-type">TH.Role</span></a></span></span></span></span><span>
</span><span id="line-32"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088249"><span id="local-6989586621679088251"><span id="local-6989586621679088253"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#Lit"><span class="hs-identifier hs-type">TH.Lit</span></a></span></span></span></span><span>
</span><span id="line-33"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088243"><span id="local-6989586621679088245"><span id="local-6989586621679088247"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#Range"><span class="hs-identifier hs-type">TH.Range</span></a></span></span></span></span><span>
</span><span id="line-34"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088237"><span id="local-6989586621679088239"><span id="local-6989586621679088241"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#Stmt"><span class="hs-identifier hs-type">TH.Stmt</span></a></span></span></span></span><span>
</span><span id="line-35"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088231"><span id="local-6989586621679088233"><span id="local-6989586621679088235"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#Pat"><span class="hs-identifier hs-type">TH.Pat</span></a></span></span></span></span><span>
</span><span id="line-36"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088225"><span id="local-6989586621679088227"><span id="local-6989586621679088229"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#Exp"><span class="hs-identifier hs-type">TH.Exp</span></a></span></span></span></span><span>
</span><span id="line-37"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088219"><span id="local-6989586621679088221"><span id="local-6989586621679088223"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#Dec"><span class="hs-identifier hs-type">TH.Dec</span></a></span></span></span></span><span>
</span><span id="line-38"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088213"><span id="local-6989586621679088215"><span id="local-6989586621679088217"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#Overlap"><span class="hs-identifier hs-type">TH.Overlap</span></a></span></span></span></span><span>
</span><span id="line-39"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088207"><span id="local-6989586621679088209"><span id="local-6989586621679088211"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#DerivClause"><span class="hs-identifier hs-type">TH.DerivClause</span></a></span></span></span></span><span>
</span><span id="line-40"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088201"><span id="local-6989586621679088203"><span id="local-6989586621679088205"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#DerivStrategy"><span class="hs-identifier hs-type">TH.DerivStrategy</span></a></span></span></span></span><span>
</span><span id="line-41"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088195"><span id="local-6989586621679088197"><span id="local-6989586621679088199"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#Guard"><span class="hs-identifier hs-type">TH.Guard</span></a></span></span></span></span><span>
</span><span id="line-42"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088189"><span id="local-6989586621679088191"><span id="local-6989586621679088193"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#Body"><span class="hs-identifier hs-type">TH.Body</span></a></span></span></span></span><span>
</span><span id="line-43"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088183"><span id="local-6989586621679088185"><span id="local-6989586621679088187"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#Match"><span class="hs-identifier hs-type">TH.Match</span></a></span></span></span></span><span>
</span><span id="line-44"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088177"><span id="local-6989586621679088179"><span id="local-6989586621679088181"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#Fixity"><span class="hs-identifier hs-type">TH.Fixity</span></a></span></span></span></span><span>
</span><span id="line-45"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088171"><span id="local-6989586621679088173"><span id="local-6989586621679088175"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#TySynEqn"><span class="hs-identifier hs-type">TH.TySynEqn</span></a></span></span></span></span><span>
</span><span id="line-46"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088165"><span id="local-6989586621679088167"><span id="local-6989586621679088169"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#FunDep"><span class="hs-identifier hs-type">TH.FunDep</span></a></span></span></span></span><span>
</span><span id="line-47"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088159"><span id="local-6989586621679088161"><span id="local-6989586621679088163"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#AnnTarget"><span class="hs-identifier hs-type">TH.AnnTarget</span></a></span></span></span></span><span>
</span><span id="line-48"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088153"><span id="local-6989586621679088155"><span id="local-6989586621679088157"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#RuleBndr"><span class="hs-identifier hs-type">TH.RuleBndr</span></a></span></span></span></span><span>
</span><span id="line-49"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088147"><span id="local-6989586621679088149"><span id="local-6989586621679088151"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#Phases"><span class="hs-identifier hs-type">TH.Phases</span></a></span></span></span></span><span>
</span><span id="line-50"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088141"><span id="local-6989586621679088143"><span id="local-6989586621679088145"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#RuleMatch"><span class="hs-identifier hs-type">TH.RuleMatch</span></a></span></span></span></span><span>
</span><span id="line-51"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088135"><span id="local-6989586621679088137"><span id="local-6989586621679088139"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#Inline"><span class="hs-identifier hs-type">TH.Inline</span></a></span></span></span></span><span>
</span><span id="line-52"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088129"><span id="local-6989586621679088131"><span id="local-6989586621679088133"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#Pragma"><span class="hs-identifier hs-type">TH.Pragma</span></a></span></span></span></span><span>
</span><span id="line-53"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088123"><span id="local-6989586621679088125"><span id="local-6989586621679088127"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#Safety"><span class="hs-identifier hs-type">TH.Safety</span></a></span></span></span></span><span>
</span><span id="line-54"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088117"><span id="local-6989586621679088119"><span id="local-6989586621679088121"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#Callconv"><span class="hs-identifier hs-type">TH.Callconv</span></a></span></span></span></span><span>
</span><span id="line-55"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088111"><span id="local-6989586621679088113"><span id="local-6989586621679088115"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#Foreign"><span class="hs-identifier hs-type">TH.Foreign</span></a></span></span></span></span><span>
</span><span id="line-56"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088105"><span id="local-6989586621679088107"><span id="local-6989586621679088109"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#Bang"><span class="hs-identifier hs-type">TH.Bang</span></a></span></span></span></span><span>
</span><span id="line-57"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088099"><span id="local-6989586621679088101"><span id="local-6989586621679088103"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#SourceUnpackedness"><span class="hs-identifier hs-type">TH.SourceUnpackedness</span></a></span></span></span></span><span>
</span><span id="line-58"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088093"><span id="local-6989586621679088095"><span id="local-6989586621679088097"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#SourceStrictness"><span class="hs-identifier hs-type">TH.SourceStrictness</span></a></span></span></span></span><span>
</span><span id="line-59"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088087"><span id="local-6989586621679088089"><span id="local-6989586621679088091"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#DecidedStrictness"><span class="hs-identifier hs-type">TH.DecidedStrictness</span></a></span></span></span></span><span>
</span><span id="line-60"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088081"><span id="local-6989586621679088083"><span id="local-6989586621679088085"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#FixityDirection"><span class="hs-identifier hs-type">TH.FixityDirection</span></a></span></span></span></span><span>
</span><span id="line-61"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088075"><span id="local-6989586621679088077"><span id="local-6989586621679088079"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#OccName"><span class="hs-identifier hs-type">TH.OccName</span></a></span></span></span></span><span>
</span><span id="line-62"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088069"><span id="local-6989586621679088071"><span id="local-6989586621679088073"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#Con"><span class="hs-identifier hs-type">TH.Con</span></a></span></span></span></span><span>
</span><span id="line-63"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088063"><span id="local-6989586621679088065"><span id="local-6989586621679088067"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#AnnLookup"><span class="hs-identifier hs-type">TH.AnnLookup</span></a></span></span></span></span><span>
</span><span id="line-64"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088057"><span id="local-6989586621679088059"><span id="local-6989586621679088061"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#ModuleInfo"><span class="hs-identifier hs-type">TH.ModuleInfo</span></a></span></span></span></span><span>
</span><span id="line-65"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088051"><span id="local-6989586621679088053"><span id="local-6989586621679088055"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#Clause"><span class="hs-identifier hs-type">TH.Clause</span></a></span></span></span></span><span>
</span><span id="line-66"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088045"><span id="local-6989586621679088047"><span id="local-6989586621679088049"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#InjectivityAnn"><span class="hs-identifier hs-type">TH.InjectivityAnn</span></a></span></span></span></span><span>
</span><span id="line-67"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088039"><span id="local-6989586621679088041"><span id="local-6989586621679088043"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#FamilyResultSig"><span class="hs-identifier hs-type">TH.FamilyResultSig</span></a></span></span></span></span><span>
</span><span id="line-68"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088033"><span id="local-6989586621679088035"><span id="local-6989586621679088037"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#TypeFamilyHead"><span class="hs-identifier hs-type">TH.TypeFamilyHead</span></a></span></span></span></span><span>
</span><span id="line-69"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088027"><span id="local-6989586621679088029"><span id="local-6989586621679088031"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#PatSynDir"><span class="hs-identifier hs-type">TH.PatSynDir</span></a></span></span></span></span><span>
</span><span id="line-70"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088021"><span id="local-6989586621679088023"><span id="local-6989586621679088025"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#PatSynArgs"><span class="hs-identifier hs-type">TH.PatSynArgs</span></a></span></span></span></span><span>
</span><span id="line-71"></span><span>
</span><span id="line-72"></span><span class="hs-comment">-- We need Binary TypeRep for serializing annotations</span><span>
</span><span id="line-73"></span><span>
</span><span id="line-74"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679088017"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../ghc-boot/src/GHC.Serialized.html#Serialized"><span class="hs-identifier hs-type">Serialized</span></a></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-75"></span><span>    </span><span id="local-6989586621679088010"><span class="annot"><span class="annottext">put :: Serialized -&gt; Put
</span><a href="../../binary/src/Data.Binary.Class.html#put"><span class="hs-identifier hs-var hs-var hs-var hs-var">put</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-boot/src/GHC.Serialized.html#Serialized"><span class="hs-identifier hs-type">Serialized</span></a></span><span> </span><span id="local-6989586621679088007"><span class="annot"><span class="annottext">TypeRep
</span><a href="#local-6989586621679088007"><span class="hs-identifier hs-var">tyrep</span></a></span></span><span> </span><span id="local-6989586621679088006"><span class="annot"><span class="annottext">[Word8]
</span><a href="#local-6989586621679088006"><span class="hs-identifier hs-var">wds</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">TypeRep -&gt; Put
forall t. Binary t =&gt; t -&gt; Put
</span><a href="../../binary/src/Data.Binary.Class.html#put"><span class="hs-identifier hs-var">put</span></a></span><span> </span><span class="annot"><span class="annottext">TypeRep
</span><a href="#local-6989586621679088007"><span class="hs-identifier hs-var">tyrep</span></a></span><span> </span><span class="annot"><span class="annottext">Put -&gt; Put -&gt; Put
forall (m :: * -&gt; *) a b. Monad m =&gt; m a -&gt; m b -&gt; m b
</span><a href="../../base/src/GHC.Base.html#%3E%3E"><span class="hs-operator hs-var">&gt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">ByteString -&gt; Put
forall t. Binary t =&gt; t -&gt; Put
</span><a href="../../binary/src/Data.Binary.Class.html#put"><span class="hs-identifier hs-var">put</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[Word8] -&gt; ByteString
</span><a href="../../bytestring/src/Data.ByteString.html#pack"><span class="hs-identifier hs-var">B.pack</span></a></span><span> </span><span class="annot"><span class="annottext">[Word8]
</span><a href="#local-6989586621679088006"><span class="hs-identifier hs-var">wds</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-76"></span><span>    </span><span id="local-6989586621679087997"><span class="annot"><span class="annottext">get :: Get Serialized
</span><a href="../../binary/src/Data.Binary.Class.html#get"><span class="hs-identifier hs-var hs-var hs-var hs-var">get</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">TypeRep -&gt; [Word8] -&gt; Serialized
</span><a href="../../ghc-boot/src/GHC.Serialized.html#Serialized"><span class="hs-identifier hs-var">Serialized</span></a></span><span> </span><span class="annot"><span class="annottext">(TypeRep -&gt; [Word8] -&gt; Serialized)
-&gt; Get TypeRep -&gt; Get ([Word8] -&gt; Serialized)
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/Data.Functor.html#%3C%24%3E"><span class="hs-operator hs-var">&lt;$&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Get TypeRep
forall t. Binary t =&gt; Get t
</span><a href="../../binary/src/Data.Binary.Class.html#get"><span class="hs-identifier hs-var">get</span></a></span><span> </span><span class="annot"><span class="annottext">Get ([Word8] -&gt; Serialized) -&gt; Get [Word8] -&gt; Get Serialized
forall (f :: * -&gt; *) a b. Applicative f =&gt; f (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#%3C%2A%3E"><span class="hs-operator hs-var">&lt;*&gt;</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteString -&gt; [Word8]
</span><a href="../../bytestring/src/Data.ByteString.html#unpack"><span class="hs-identifier hs-var">B.unpack</span></a></span><span> </span><span class="annot"><span class="annottext">(ByteString -&gt; [Word8]) -&gt; Get ByteString -&gt; Get [Word8]
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/Data.Functor.html#%3C%24%3E"><span class="hs-operator hs-var">&lt;$&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Get ByteString
forall t. Binary t =&gt; Get t
</span><a href="../../binary/src/Data.Binary.Class.html#get"><span class="hs-identifier hs-var">get</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-77"></span><span>
</span><span id="line-78"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679087990"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#Bytes"><span class="hs-identifier hs-type">TH.Bytes</span></a></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-79"></span><span>   </span><span id="local-6989586621679087982"><span class="annot"><span class="annottext">put :: Bytes -&gt; Put
</span><a href="#local-6989586621679087982"><span class="hs-identifier hs-var hs-var hs-var hs-var">put</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../rts/src/Language.Haskell.TH.Syntax.html#Bytes"><span class="hs-identifier hs-type">TH.Bytes</span></a></span><span> </span><span id="local-6989586621679087980"><span class="annot"><span class="annottext">ForeignPtr Word8
</span><a href="#local-6989586621679087980"><span class="hs-identifier hs-var">ptr</span></a></span></span><span> </span><span id="local-6989586621679087979"><span class="annot"><span class="annottext">Word
</span><a href="#local-6989586621679087979"><span class="hs-identifier hs-var">off</span></a></span></span><span> </span><span id="local-6989586621679087978"><span class="annot"><span class="annottext">Word
</span><a href="#local-6989586621679087978"><span class="hs-identifier hs-var">sz</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteString -&gt; Put
forall t. Binary t =&gt; t -&gt; Put
</span><a href="../../binary/src/Data.Binary.Class.html#put"><span class="hs-identifier hs-var">put</span></a></span><span> </span><span class="annot"><span class="annottext">ByteString
</span><a href="#local-6989586621679087977"><span class="hs-identifier hs-var">bs</span></a></span><span>
</span><span id="line-80"></span><span>      </span><span class="hs-keyword">where</span><span> </span><span id="local-6989586621679087977"><span class="annot"><span class="annottext">bs :: ByteString
</span><a href="#local-6989586621679087977"><span class="hs-identifier hs-var hs-var">bs</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ForeignPtr Word8 -&gt; Int -&gt; Int -&gt; ByteString
</span><a href="../../bytestring/src/Data.ByteString.Internal.html#PS"><span class="hs-identifier hs-var">B.PS</span></a></span><span> </span><span class="annot"><span class="annottext">ForeignPtr Word8
</span><a href="#local-6989586621679087980"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word -&gt; Int
forall a b. (Integral a, Num b) =&gt; a -&gt; b
</span><a href="../../base/src/GHC.Real.html#fromIntegral"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="annot"><span class="annottext">Word
</span><a href="#local-6989586621679087979"><span class="hs-identifier hs-var">off</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word -&gt; Int
forall a b. (Integral a, Num b) =&gt; a -&gt; b
</span><a href="../../base/src/GHC.Real.html#fromIntegral"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="annot"><span class="annottext">Word
</span><a href="#local-6989586621679087978"><span class="hs-identifier hs-var">sz</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-81"></span><span>   </span><span id="local-6989586621679087965"><span class="annot"><span class="annottext">get :: Get Bytes
</span><a href="#local-6989586621679087965"><span class="hs-identifier hs-var hs-var hs-var hs-var">get</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-82"></span><span>      </span><span class="annot"><a href="../../bytestring/src/Data.ByteString.Internal.html#PS"><span class="hs-identifier hs-type">B.PS</span></a></span><span> </span><span id="local-6989586621679087964"><span class="annot"><span class="annottext">ForeignPtr Word8
</span><a href="#local-6989586621679087964"><span class="hs-identifier hs-var">ptr</span></a></span></span><span> </span><span id="local-6989586621679087963"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679087963"><span class="hs-identifier hs-var">off</span></a></span></span><span> </span><span id="local-6989586621679087962"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679087962"><span class="hs-identifier hs-var">sz</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Get ByteString
forall t. Binary t =&gt; Get t
</span><a href="../../binary/src/Data.Binary.Class.html#get"><span class="hs-identifier hs-var">get</span></a></span><span>
</span><span id="line-83"></span><span>      </span><span class="annot"><span class="annottext">Bytes -&gt; Get Bytes
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ForeignPtr Word8 -&gt; Word -&gt; Word -&gt; Bytes
</span><a href="../../rts/src/Language.Haskell.TH.Syntax.html#Bytes"><span class="hs-identifier hs-var">TH.Bytes</span></a></span><span> </span><span class="annot"><span class="annottext">ForeignPtr Word8
</span><a href="#local-6989586621679087964"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int -&gt; Word
forall a b. (Integral a, Num b) =&gt; a -&gt; b
</span><a href="../../base/src/GHC.Real.html#fromIntegral"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679087963"><span class="hs-identifier hs-var">off</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int -&gt; Word
forall a b. (Integral a, Num b) =&gt; a -&gt; b
</span><a href="../../base/src/GHC.Real.html#fromIntegral"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679087962"><span class="hs-identifier hs-var">sz</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-84"></span></pre></body></html>